// 测试脚本
const {ethers} = require("hardhat");
async function main() {
    // 部署合约地址
    const contractAddress = "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512";
    const tokenAddress = "0x5FbDB2315678afecb367f032d93F642f64180aa3"
    console.log("用于连接的合约地址：" + contractAddress);
    // 获取默认账户
    const [owner, addr1, addr2] = await ethers.getSigners();
    // 获取合约实例
    const Pandas = await ethers.getContractFactory("Pandas");
    const contract = await Pandas.deploy(contractAddress, tokenAddress); // 连接合约
    console.log("合约连接成功，合约部署地址：" + contract.target);
    console.log("玩家地址：" + owner.address);

    // owner调用mint方法
    let mint = await contract.mint(owner.address);
    await mint.wait();
    console.log("NFT铸造成功,玩家为："+ owner.address);

    // 第一个账户调用mint方法
    let mint1 = await contract.connect(addr1).mint(addr1.address);
    await mint1.wait();
    console.log("NFT铸造成功,玩家为："+addr1.address);

    
    // 总的NFT数量
    let totalNFT = await contract.totalSupply();
    console.log(`总的 NFT 数量: ${totalNFT.toString()}`);
    // // 查询owner的NFT数量
    let nftCount = await contract.getNftNumber(owner.address);
    console.log(`玩家owner拥有的 NFT 数量: ${nftCount.toString()}`);

}
main()
    .then(() => process.exit(0))
    .catch((error) => {
        console.error(error);
        process.exit(1);
    });